আনসিবল (Ansible)

টাস্ক এবং হ্যান্ডলার

Latest Technologies - আনসিবল (Ansible) - Playbook এর বেসিক ধারণা | NCTB BOOK

Ansible এ টাস্ক (Task) এবং হ্যান্ডলার (Handler) দুটোই গুরুত্বপূর্ণ উপাদান, যা Playbook এ ব্যবহৃত হয় বিভিন্ন কাজ সম্পাদন করার জন্য। চলুন একে একে এই দুটি সম্পর্কে বিশদে আলোচনা করা যাক:

১. টাস্ক (Task)

টাস্ক হলো Ansible Playbook এর একটি মৌলিক উপাদান, যা নির্দিষ্ট কাজ বা অ্যাকশন সম্পাদন করে। প্রতিটি টাস্ক সাধারণত একটি মডিউল ব্যবহার করে এবং YAML ফরম্যাটে লেখা হয়। টাস্কগুলি ধারাবাহিকভাবে চলে এবং নির্দিষ্ট একটি টাস্ক সম্পন্ন হলে পরবর্তী টাস্কে চলে যায়।

একটি টাস্ক এর বৈশিষ্ট্য:

  • নাম: টাস্কের নাম দেয়া থাকে যাতে সহজে বোঝা যায় এটি কী কাজ করছে। এটি সাধারণত ডিবাগিং এবং আউটপুটে ব্যবহৃত হয়।
  • মডিউল: Ansible এর বিভিন্ন বিল্ট-ইন মডিউল (যেমন apt, yum, file ইত্যাদি) ব্যবহৃত হয় টাস্কে।
  • Arguments: মডিউলের সাথে বিভিন্ন আরগুমেন্ট বা প্যারামিটার দেয়া যায়, যা টাস্কের কাজ নির্ধারণ করে।

টাস্কের উদাহরণ:

- name: Install Apache
  apt:
    name: apache2
    state: present

উপরের টাস্কটি apt মডিউল ব্যবহার করে apache2 প্যাকেজ ইনস্টল করছে। state: present দিয়ে নিশ্চিত করা হচ্ছে যে প্যাকেজটি সিস্টেমে ইনস্টল করা আছে কিনা।

২. হ্যান্ডলার (Handler)

হ্যান্ডলার হলো বিশেষ ধরনের টাস্ক যা শুধু তখনই ট্রিগার হয় যখন একটি নির্দিষ্ট কন্ডিশন পূরণ হয়, অর্থাৎ যখন কোনো টাস্ক থেকে "change" ডিটেক্ট করা হয়।

  • নাম: হ্যান্ডলারের জন্য একটি নাম থাকে, যাতে অন্য টাস্কগুলি এই হ্যান্ডলারকে রেফার করতে পারে।
  • Trigger: একটি হ্যান্ডলার শুধুমাত্র notify কিওয়ার্ড ব্যবহার করে কল করা হলে রান হয়।
  • হ্যান্ডলারগুলো সাধারণত সার্ভিস রিস্টার্ট, ফাইল রিলোড বা কনফিগারেশন আপডেটের মতো কাজের জন্য ব্যবহৃত হয়।

হ্যান্ডলার এর উদাহরণ:

---
- name: Install and configure Apache
  hosts: webservers
  become: yes
  tasks:
    - name: Install Apache
      apt:
        name: apache2
        state: present
      notify: Restart Apache

    - name: Copy Apache configuration file
      copy:
        src: /path/to/httpd.conf
        dest: /etc/apache2/apache2.conf
      notify: Restart Apache

  handlers:
    - name: Restart Apache
      service:
        name: apache2
        state: restarted

ব্যাখ্যা:

  • এখানে দুটি টাস্ক আছে:
    • একটি টাস্ক apache2 ইনস্টল করছে।
    • অন্য টাস্ক httpd.conf ফাইল কপি করছে।
  • দুইটি টাস্কই notify: Restart Apache ব্যবহার করছে, অর্থাৎ যখনই এই টাস্কগুলোর মাধ্যমে কোনো পরিবর্তন হবে, তখন Restart Apache হ্যান্ডলারটি ট্রিগার হবে।
  • Restart Apache হ্যান্ডলারটি apache2 সার্ভিস রিস্টার্ট করবে, কিন্তু শুধু তখনই করবে যদি আগে কোনো পরিবর্তন ঘটে।

হ্যান্ডলার এর সুবিধা

  • হ্যান্ডলার ব্যবহার করলে আপনি নিশ্চিত হতে পারেন যে কোনো সার্ভিস বা অ্যাকশন শুধুমাত্র তখনই চালু হবে যখন সত্যিই প্রয়োজন। যেমন, যদি apache2 সার্ভিস রিস্টার্ট করার দরকার না হয়, তাহলে এটি অনর্থক রিস্টার্ট হবে না।
  • এটি প্লেবুকের কার্যকারিতা এবং পারফরম্যান্স বাড়াতে সাহায্য করে।

সংক্ষেপে পার্থক্য:

বৈশিষ্ট্যটাস্ক (Task)হ্যান্ডলার (Handler)
কার্যকারিতাসরাসরি টাস্কগুলো চালায়নির্দিষ্ট টাস্ক থেকে "change" হলে চালায়
কনফিগারেশনসরাসরি মডিউল ও প্যারামিটার দিয়ে নির্ধারিতnotify এর মাধ্যমে কল করা হয়
কার্যকর হওয়ার সময়প্লেবুকের টাস্ক সিকোয়েন্স অনুযায়ীপ্লেবুকের শেষে এবং "change" হলে

এই হলো টাস্ক এবং হ্যান্ডলার এর মূল ধারণা।

Promotion